registerTests([
function First_Test_0()
{
	var myArray = [1, 2, 3];
	var result = myArray.First();
	
	Assert.areEqual(result, 1, "Expected 1 but got " + result);
},
function First_Test_1()
{
	var myArray = [];

	Assert.throwsException(myArray.First, "Exception was not thrown on empty array");
},
function First_Test_Condition_0()
{
	var myArray = [1, 2, 3];
	var result = myArray.First("x=> x == 2");
	
	Assert.areEqual(result, 2, "Expected 2 but got " + result);
},
function First_Test_Condition_1()
{
	var myArray = [];

	Assert.throwsException(function() { myArray.First("x => x == 2");}, "Exception was not thrown on empty array");
}
]);